﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Practices.Unity.InterceptionExtension;

namespace Dissemination.MVC.UnityContrib.Interfaces
{
    public interface ICallHandler
    {
        IMethodReturn Invoke(IMethodInvocation input, GetNextHandlerDelegate getNext);
    }

    public delegate IMethodReturn InvokeHandlerDelegate(IMethodInvocation input,
                                                    GetNextHandlerDelegate getNext);

    public delegate InvokeHandlerDelegate GetNextHandlerDelegate();
}
